package com.tbit.uqbike.webmanager.dao.core;


import com.tbit.uqbike.object.pojo.BatteryModelDetail;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 电池方案详细dao
 *
 * @author Leon
 * 2017年2月24日 下午4:02:36
 */
public interface BatteryModelDetailDao {
    /**
     * 添加
     *
     * @param batteryModelDetail
     */
    void insert(BatteryModelDetail batteryModelDetail);

    /**
     * 删除
     *
     * @param batteiyModelDetailId
     */
    void del(Integer batteiyModelDetailId);

    /**
     * 根据方案id查询
     *
     * @param batteryModelId
     * @return
     */
    List<BatteryModelDetail> getByBatteryModelId(Map<String, Object> params);

    /**
     * 查询设备当前电池状态
     *
     * @param machineId
     * @return
     */
    BatteryModelDetail getByMachineId(Map<String, Object> params);

    /**
     * 获取总数
     *
     * @param batteryModelId
     * @return
     */
    Integer getTotal(Integer batteryModelId);

    /**
     * 批量添加
     *
     * @param batteryModelDetails
     */
    void insertList(List<BatteryModelDetail> batteryModelDetails);

    /**
     * 删除电池方案详情
     *
     * @param batteryModelId
     */
    void delByBatteryModelId(Integer batteryModelId);

    /**
     * @description: 根据车辆Id获取电池方案详细
     * @author: mo.shanyong
     * @date: 2025/4/21 14:45
     * @param: machineId
     * @return: java.util.List<com.tbit.uqbike.object.pojo.BatteryModelDetail>
     */
    List<BatteryModelDetail> getListByMachineId(@Param("machineId") Integer machineId);

}